﻿using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Demo.DtoParameters;
using Demo.Entities;
using Demo.Helpers;

namespace Demo.Repository
{
    public interface IEmployeeRepository
    {
        Task<PageList<Employee>> GetEmployeesAsync(Guid companyId, EmployeeDtoParameters parameters);

        Task<Employee> GetEmployeeAsync(Guid companyId, Guid employeeId);

        void AddEmployee(Guid companyId, Employee employee);

        void UpdateEmployee(Employee employee);

        void DeleteEmployee(Employee employee);

        void DeleteEmployees(params Employee[] employees);

        void SaveAsync();
    }
}